package com.mass.core.sys.dict.service;


import com.mass.core.sys.dict.model.SysDictVal;

import java.util.List;
import java.util.Map;

/**
 * annotation:SysDictVal 业务层接口
 * created by pannan on 2017/08/25
 */
public interface SysDictValService {
    /**
     * 根据ID查询数据信息.
     *
     * @param id 查询条件
     * @return
     */
    SysDictVal getEntityById(Long id);


    /*
     * 添加数据词典
     * @param sysDictVal
     * */
    SysDictVal addEntity(SysDictVal sysDictVal);

    /**
     * 修改数据词典
     *
     * @param sysDictVal
     */
    boolean editEntity(SysDictVal sysDictVal);

    /**
     * 删除数据词典
     *
     * @param id
     */
    boolean deleteEntity(Long id);

    /**
     * 根据词典类型 编码查询
     *
     * @param typeCode 字典类型编码
     **/
    List<SysDictVal> getByTypeCode(String typeCode,String valName,String valCode, Integer enabled, List<String> strList, String description);


    /**
     * 验证编码唯一
     *
     * @param valCode 编码
     **/

    boolean checkValCodeIsExist(String valCode);

    /**
     * 根据valCode获取名称
     *
     * @param valCode
     * @return
     */
    SysDictVal getValNameByValCode(String valCode);

    /**
     * 查询字典值
     *
     * @param typeCodes 字典类型编码数组
     * @return
     */
    Map<String, Object> selectListByTypeCode(String[] typeCodes);

    List<SysDictVal> selectByTypeCode(String typeCode);
}
